// samsting : this file is auto create.

#ifndef ALIYUN_Drds_DescribeDrdsInstancesResponse_H_
#define ALIYUN_Drds_DescribeDrdsInstancesResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Drds {

class DescribeDrdsInstancesResponse : public AcsResponse {
public:
  DescribeDrdsInstancesResponse();

  class Instance {
    friend class DescribeDrdsInstancesResponse;
  public:

    class Vip {
      friend class DescribeDrdsInstancesResponse;
      friend class Instance;
    public:
      const string& GetIP(void) const;
      const string& GetPort(void) const;
      const string& GetType(void) const;
    private:
      string IP_;
      string Port_;
      string Type_;
    }; // Vip 

    const std::vector<Vip>& GetVips(void) const;
    const string& GetDrdsInstanceId(void) const;
    const string& GetType(void) const;
    const string& GetRegionId(void) const;
    const string& GetZoneId(void) const;
    const string& GetDescription(void) const;
    const string& GetNetworkType(void) const;
    const string& GetStatus(void) const;
    int64 GetCreateTime(void) const;
    int64 GetVersion(void) const;
  private:
    std::vector<Vip> Vips_;
    string DrdsInstanceId_;
    string Type_;
    string RegionId_;
    string ZoneId_;
    string Description_;
    string NetworkType_;
    string Status_;
    int64  CreateTime_;
    int64  Version_;
  }; // Instance 

  const std::vector<Instance>& GetData(void) const;
  bool GetSuccess(void) const;

private:
  std::vector<Instance> Data_;
  bool   Success_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Drds {

#endif // #ifndef ALIYUN_Drds_DescribeDrdsInstancesResponse_H_

// end of file 
